#ifndef __Key_H_
#define __Key_H_

#include "all.h"

#define Key_RCC        RCC_APB2_PERIPH_GPIOB|RCC_APB2_PERIPH_GPIOE  
#define Key_Column_GPIO    GPIOE  
#define Key_Column_IO  GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4        			 //GPIO的0-3引脚控制 列
#define Key_Row_GPIO       GPIOB  
#define Key_Row_IO     GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9        //GPIO的4-7引脚控制 行


typedef struct
{
	unsigned char KeyValue;
	unsigned char KeyLongValue;
	unsigned int x;
	unsigned int y;
	unsigned int z;
	unsigned char Keylock1;
	u16 KeyCnt1;
	unsigned char ShortKeyFlag1;
}tKEY_S;
extern tKEY_S KEY_s;

typedef struct
{
	uint16_t Ms;
	uint8_t Cnt;
	uint8_t Count;
}tKEY_Var;
extern tKEY_Var KEY_Var;


void Key_GPIO_init(void);
void KEYs_Init(void);
void Key_Time(void);
void Key_Task(void);
void KEY_Scan(void);
void KEY_Clr(void);
void KEY_Event_Handle(void);

#endif

